<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212; 
        Command line tool to parse and manipulate <acronym class="acronym">XML</acronym>
        or <acronym class="acronym">SGML</acronym> catalog files.
    </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmlcatalog</code>  [ <code class="option">--sgml</code>  |   <code class="option">--shell</code>  |   <code class="option">--convert</code>  |   <code class="option">--create</code>  |   <code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code>  |   
            [ 
                    <code class="option">--add
                     <em class="replaceable"><code>TYPE</code></em>
                     <em class="replaceable"><code>ORIG</code></em>
                     <em class="replaceable"><code>REPLACE</code></em>
                    </code>
                  |   <code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code> ]
          |   <code class="option">--noout</code>  |   <code class="option">--no-super-update</code>  |   
            [ <code class="option">-v</code>  |   <code class="option">--verbose</code> ]
         ] {<em class="replaceable"><code>CATALOGFILE</code></em>} {<em class="replaceable"><code>ENTITIES</code></em>...}</p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
        <span class="command"><strong>xmlcatalog</strong></span> is a command line application allowing users to monitor and
        manipulate <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> catalogs. It
        is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.
    </p><p>
        Its functions can be invoked from a single command from the command line,
        or it can perform multiple functions in interactive mode. It can operate
        on both <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> files.
    </p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
        <span class="command"><strong>xmlcatalog</strong></span> accepts the following options (in alphabetical order):
    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
                <code class="option">--add
                 <em class="replaceable"><code>TYPE</code></em>
                 <em class="replaceable"><code>ORIG</code></em>
                 <em class="replaceable"><code>REPLACE</code></em>
                </code>
            </span></dt><dd><p>
                    Add an entry to <code class="filename">CATALOGFILE</code>. <em class="replaceable"><code>TYPE</code></em>
                    indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
                    reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
                    is the <acronym class="acronym">URI</acronym> of the replacement entity to be
                    used. The <code class="option">--add</code> option will not overwrite
                    <code class="filename">CATALOGFILE</code>, outputting
                    to <code class="filename">stdout</code>, unless
                    <code class="option">--noout</code> is used. The <code class="option">--add</code> will
                    always take three parameters even if some of the <acronym class="acronym">XML</acronym>
                    catalog constructs will have only a single argument.
                </p></dd><dt><span class="term"><code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code></span></dt><dd><p>
                    If the <code class="option">--add</code> option is used following
                    the <code class="option">--sgml</code> option, only a single argument,
                    a <em class="replaceable"><code>FILENAME</code></em>, is used. This is used to add
                    the name of a catalog file to an <acronym class="acronym">SGML</acronym> supercatalog,
                    a file that contains references to other included <acronym class="acronym">SGML</acronym>
                    catalog files.
                </p></dd><dt><span class="term"><code class="option">--convert</code></span></dt><dd><p>
                    Convert SGML catalog to XML.
                </p></dd><dt><span class="term"><code class="option">--create</code></span></dt><dd><p>
                    Create a new <acronym class="acronym">XML</acronym> catalog. Outputs
                    to <code class="filename">stdout</code>,
                    ignoring <em class="replaceable"><code>filename</code></em> unless <code class="option">--noout</code> is
                    used, in which case it creates a new catalog
                    file <em class="replaceable"><code>filename</code></em>.
                </p></dd><dt><span class="term"><code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
                    Remove entries from <em class="replaceable"><code>CATALOGFILE</code></em>
                    matching <em class="replaceable"><code>VALUE(S)</code></em>. The <code class="option">--del</code>
                    option will not overwrite <em class="replaceable"><code>CATALOGFILE</code></em>,
                    outputting to <code class="filename">stdout</code>,
                    unless <code class="option">--noout</code> is used.
                </p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
                    Save output to the named file rather than outputting
                    to <code class="filename">stdout</code>.
                </p></dd><dt><span class="term"><code class="option">--no-super-update</code></span></dt><dd><p>
                    Do not update the <acronym class="acronym">SGML</acronym> super catalog.
                </p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
                    Run a shell allowing interactive queries on catalog
                    file <em class="replaceable"><code>CATALOGFILE</code></em>. For the set of available
                    commands see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>.
                </p></dd><dt><span class="term"><code class="option">--sgml</code></span></dt><dd><p>
                    Uses <acronym class="acronym">SGML</acronym> super catalogs for <code class="option">--add</code>
                    and <code class="option">--del</code> options.
                </p></dd><dt><span class="term"><code class="option">-v</code>, </span><span class="term"><code class="option">--verbose</code></span></dt><dd><p>Output debugging information.</p></dd></dl></div><p>
        Invoking <span class="command"><strong>xmlcatalog</strong></span> non-interactively without a designated action
        (imposed with options like <code class="option">--add</code>) will result in a lookup
        of the catalog entry for <em class="replaceable"><code>ENTITIES</code></em> in the
        catalog denoted with <em class="replaceable"><code>CATALOGFILE</code></em>. The
        corresponding entries will be output to the command line. This mode of
        operation, together with <code class="option">--shell</code> mode and non-modifying
        (i.e. without <code class="option">--noout</code>) direct actions, allows for
        a special shortcut of the void <em class="replaceable"><code>CATALOGFILE</code></em>
        specification (possibly expressed as "" in the shell
        environment) appointing the default system catalog. That simplifies the
        handling when its exact location is irrelevant but the respective built-in
        still needs to be consulted.
    </p></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
        Invoking <span class="command"><strong>xmlcatalog</strong></span> with
        the <code class="option">--shell <em class="replaceable"><code>CATALOGFILE</code></em></code> option opens
        a command line shell allowing interactive access to the catalog file
        identified by <em class="replaceable"><code>CATALOGFILE</code></em>. Invoking the shell
        provides a command line prompt after which the following commands (described in
        alphabetical order) can be entered.
    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
                <code class="option">add
                 <em class="replaceable"><code>TYPE</code></em>
                 <em class="replaceable"><code>ORIG</code></em>
                 <em class="replaceable"><code>REPLACE</code></em>
                </code>
            </span></dt><dd><p>
                    Add an entry to the catalog file. <em class="replaceable"><code>TYPE</code></em>
                    indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
                    reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
                    is the <acronym class="acronym">URI</acronym> of the replacement entity to be
                    used. The <code class="option">--add</code> option will not overwrite
                    <code class="filename">CATALOGFILE</code>, outputting
                    to <code class="filename">stdout</code>, unless
                    <code class="option">--noout</code> is used. The <code class="option">--add</code> will
                    always take three parameters even if some of the <acronym class="acronym">XML</acronym>
                    catalog constructs will have only a single argument.
                </p></dd><dt><span class="term"><code class="option">debug</code></span></dt><dd><p>
                    Print debugging statements showing the steps <span class="command"><strong>xmlcatalog</strong></span> is executing.
                </p></dd><dt><span class="term"><code class="option">del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
                    Remove the catalog entry corresponding to <em class="replaceable"><code>VALUE(S)</code></em>.
                </p></dd><dt><span class="term"><code class="option">dump</code></span></dt><dd><p>Print the current catalog.</p></dd><dt><span class="term"><code class="option">exit</code></span></dt><dd><p>Quit the shell.</p></dd><dt><span class="term"><code class="option">public <em class="replaceable"><code>PUBLIC-ID</code></em></code></span></dt><dd><p>
                    Execute a Formal Public Identifier lookup of the catalog entry
                    for <em class="replaceable"><code>PUBLIC-ID</code></em>. The corresponding entry will be
                    output to the command line.
                </p></dd><dt><span class="term"><code class="option">quiet</code></span></dt><dd><p>Stop printing debugging statements.</p></dd><dt><span class="term"><code class="option">system <em class="replaceable"><code>SYSTEM-ID</code></em></code></span></dt><dd><p>
                    Execute a Formal Public Identifier lookup of the catalog entry
                    for <em class="replaceable"><code>SYSTEM-ID</code></em>. The corresponding entry will be
                    output to the command line.
                </p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
                    queries to the user's own set of catalogs. This can be done by setting
                    the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
                    list of catalogs. Use percent-encoding to escape spaces or other characters.
                    An empty variable should deactivate loading the default catalog from
                    <code class="filename">/etc/xml/catalog</code> or, more specifically,
                    <code class="filename">${sysconfdir}/xml/catalog</code>.
                </p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
        <span class="command"><strong>xmlcatalog</strong></span> return codes provide information that can be used when
        calling it from scripts.
    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Failed to remove an entry from the catalog</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Failed to save to the catalog, check file permissions</p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Failed to add an entry to the catalog</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Failed to look up an entry in the catalog</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
    </p><p>
        More information can be found at
        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">https://gitlab.gnome.org/GNOME/libxml2</a>
                </p></li><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> catalog support web page
                    at <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support" target="_top">https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support</a>
                </p></li><li class="listitem"><p>James Clark's <acronym class="acronym">SGML</acronym> catalog
                    page <a class="ulink" href="http://www.jclark.com/sp/catalog.htm" target="_top">http://www.jclark.com/sp/catalog.htm</a>
                </p></li><li class="listitem"><p><acronym class="acronym">OASIS</acronym> <acronym class="acronym">XML</acronym> catalog specification
                    <a class="ulink" href="http://www.oasis-open.org/committees/entity/spec.html" target="_top">http://www.oasis-open.org/committees/entity/spec.html</a>
                </p></li></ul></div><p>
    </p></div></div></body></html>
